package com.matricula.model;
// Generated 9/12/2013 01:55:35 AM by Hibernate Tools 3.2.1.GA


import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Alumno generated by hbm2java
 */
@Entity
@Table(name="ALUMNO"
    ,catalog="matriculacetpro"
)
public class Alumno  implements java.io.Serializable {


     private String idAlumno;
     private String nombres;
     private String apePaterno;
     private String apeMaterno;
     private Date fecNacimiento;
     private Character sexo;
     private Integer dni;
     private String email;
     private Integer edad;
     private Integer numFijo;
     private Integer numMovil;
     private String domicilio;
     private String distrito;
     private String provincia;
     private String region;
     private Set matriculas = new HashSet(0);

    public Alumno() {
    }

	
    public Alumno(String idAlumno, String distrito) {
        this.idAlumno = idAlumno;
        this.distrito = distrito;
    }
    public Alumno(String idAlumno, String nombres, String apePaterno, String apeMaterno, Date fecNacimiento, Character sexo, Integer dni, String email, Integer edad, Integer numFijo, Integer numMovil, String domicilio, String distrito, String provincia, String region, Set matriculas) {
       this.idAlumno = idAlumno;
       this.nombres = nombres;
       this.apePaterno = apePaterno;
       this.apeMaterno = apeMaterno;
       this.fecNacimiento = fecNacimiento;
       this.sexo = sexo;
       this.dni = dni;
       this.email = email;
       this.edad = edad;
       this.numFijo = numFijo;
       this.numMovil = numMovil;
       this.domicilio = domicilio;
       this.distrito = distrito;
       this.provincia = provincia;
       this.region = region;
       this.matriculas = matriculas;
    }
   
     @Id 
    
    @Column(name="idAlumno", unique=true, nullable=false, length=15)
    public String getIdAlumno() {
        return this.idAlumno;
    }
    
    public void setIdAlumno(String idAlumno) {
        this.idAlumno = idAlumno;
    }
    
    @Column(name="nombres", length=45)
    public String getNombres() {
        return this.nombres;
    }
    
    public void setNombres(String nombres) {
        this.nombres = nombres;
    }
    
    @Column(name="apePaterno", length=45)
    public String getApePaterno() {
        return this.apePaterno;
    }
    
    public void setApePaterno(String apePaterno) {
        this.apePaterno = apePaterno;
    }
    
    @Column(name="apeMaterno", length=45)
    public String getApeMaterno() {
        return this.apeMaterno;
    }
    
    public void setApeMaterno(String apeMaterno) {
        this.apeMaterno = apeMaterno;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="fecNacimiento", length=10)
    public Date getFecNacimiento() {
        return this.fecNacimiento;
    }
    
    public void setFecNacimiento(Date fecNacimiento) {
        this.fecNacimiento = fecNacimiento;
    }
    
    @Column(name="sexo", length=1)
    public Character getSexo() {
        return this.sexo;
    }
    
    public void setSexo(Character sexo) {
        this.sexo = sexo;
    }
    
    @Column(name="dni", precision=8, scale=0)
    public Integer getDni() {
        return this.dni;
    }
    
    public void setDni(Integer dni) {
        this.dni = dni;
    }
    
    @Column(name="email", length=45)
    public String getEmail() {
        return this.email;
    }
    
    public void setEmail(String email) {
        this.email = email;
    }
    
    @Column(name="edad")
    public Integer getEdad() {
        return this.edad;
    }
    
    public void setEdad(Integer edad) {
        this.edad = edad;
    }
    
    @Column(name="numFijo", precision=7, scale=0)
    public Integer getNumFijo() {
        return this.numFijo;
    }
    
    public void setNumFijo(Integer numFijo) {
        this.numFijo = numFijo;
    }
    
    @Column(name="numMovil", precision=8, scale=0)
    public Integer getNumMovil() {
        return this.numMovil;
    }
    
    public void setNumMovil(Integer numMovil) {
        this.numMovil = numMovil;
    }
    
    @Column(name="domicilio", length=45)
    public String getDomicilio() {
        return this.domicilio;
    }
    
    public void setDomicilio(String domicilio) {
        this.domicilio = domicilio;
    }
    
    @Column(name="distrito", nullable=false, length=45)
    public String getDistrito() {
        return this.distrito;
    }
    
    public void setDistrito(String distrito) {
        this.distrito = distrito;
    }
    
    @Column(name="provincia", length=45)
    public String getProvincia() {
        return this.provincia;
    }
    
    public void setProvincia(String provincia) {
        this.provincia = provincia;
    }
    
    @Column(name="region", length=45)
    public String getRegion() {
        return this.region;
    }
    
    public void setRegion(String region) {
        this.region = region;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="alumno")
    public Set getMatriculas() {
        return this.matriculas;
    }
    
    public void setMatriculas(Set matriculas) {
        this.matriculas = matriculas;
    }

 /*Convierte a un array de matriculas al set*/
 public List<Matricula> listaMatriculas(){
    List<Matricula> lista = new ArrayList<Matricula>();
        for (Object obMat : matriculas.toArray()) {
            lista.add((Matricula)obMat);
        }
    return lista;
    }


}


